import { Rule, RuleType } from '@midwayjs/validate';
import { PageDTO } from '@dto/common/page.dto';

// 查询参数
export class ListCopyDTO extends PageDTO {
  // 唯一标识
  @Rule(RuleType.string())
  id?: string;

  // 副本名称
  @Rule(RuleType.string())
  copyName?: string;

  // 副本描述
  @Rule(RuleType.string())
  copyDesc?: string;

  // 掉落列表
  @Rule(RuleType.string())
  copyDrops?: string;

  // 副本排序
  @Rule(RuleType.number())
  copySort?: number;

  // 创建时间
  @Rule(RuleType.date())
  createTime?: string;

  // 创建人
  @Rule(RuleType.string())
  createBy?: string;

  // 更新时间
  @Rule(RuleType.date())
  updateTime?: string;
}

// 新增参数
export class CreateCopyDTO {
  // 唯一标识
  @Rule(RuleType.string().required())
  id?: string;

  // 副本名称
  @Rule(RuleType.string().required())
  copyName?: string;

  // 副本描述
  @Rule(RuleType.string().required())
  copyDesc?: string;

  // 副本排序
  @Rule(RuleType.number().required())
  copySort?: number;

  // 掉落列表
  @Rule(RuleType.string())
  copyDrops?: string;

  // 创建时间
  @Rule(RuleType.date().required())
  createTime?: string;

  // 创建人
  @Rule(RuleType.string().required())
  createBy?: string;

  // 更新时间
  @Rule(RuleType.date().required())
  updateTime?: string;
}

// 修改参数
export class UpdateCopyDTO extends CreateCopyDTO {}
